home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / langs / sozobon2.zoo / jas / opcodes.h < prev    next >
Encoding:
Text File  |  1991-02-10  |  8.5 KB  |  177 lines

  1. /*
  2.  * Copyright (c) 1988 by Sozobon, Limited.  Author: Joseph M Treat
  3.  *
  4.  * Permission is granted to anyone to use this software for any purpose
  5.  * on any computer system, and to redistribute it freely, with the
  6.  * following restrictions:
  7.  * 1) No charge may be made other than reasonable charges for reproduction.
  8.  * 2) Modified versions must be clearly marked as such.
  9.  * 3) The authors are not responsible for any harmful consequences
  10.  *    of using this software, even if they result from defects in it.
  11.  */
  12.  
  13. /* Modified 08 Dec 1990 by Piet van Oostrum
  14.  * Applied bug fixes by Mick Jaegermann
  15.  */
  16.  
  17. {"",        0,    0,    0,    "",        0 },
  18. {"abcd$s",    O_DN,    O_DN,    S_B,    "xc%1ro40%r",    F_B },
  19. {"abcd$s",    O_PRE,    O_PRE,    S_B,    "xc%1ro41%r",    F_B },
  20. {"add$s",    O_IMM,    O_DST,    S_BWL,    "x5%q0$s%1e",    F_W|F_Q },
  21. {"add$s",    O_IMM,    O_AN,    S_WL,    "x5%q0$s%1e",    F_W|F_Q },
  22. {"add$s",    O_IMM,    O_DMEM,    S_BWL,    "x06$s%1e",    F_W },
  23. {"add$s",    O_ALL,    O_AN,    S_W,    "xd%1ro3%e",    F_W },
  24. {"add$s",    O_ALL,    O_AN,    S_L,    "xd%1ro7%e",    F_W },
  25. {"add$s",    O_NAN,    O_DN,    S_BWL,    "xd%1r0$s%e",    F_W },
  26. {"add$s",    O_AN,    O_DN,    S_WL,    "xd%1r0$s%e",    F_W },
  27. {"add$s",    O_DN,    O_DMEM,    S_BWL,    "xd%r1$s%1e",    F_W },
  28. {"adda$s",    O_ALL,    O_AN,    S_W,    "xd%1ro3%e",    F_W },
  29. {"adda$s",    O_ALL,    O_AN,    S_L,    "xd%1ro7%e",    F_W },
  30. {"addi$s",    O_IMM,    O_DST,    S_BWL,    "x06$s%1e",    F_W },
  31. {"addq$s",    O_IMM,    O_DST,    S_BWL,    "x5%q0$s%1e",    F_W|F_Q },
  32. {"addq$s",    O_IMM,    O_AN,    S_WL,    "x5%q0$s%1e",    F_W|F_Q },
  33. {"addx$s",    O_DN,    O_DN,    S_BWL,    "xd%1r1$so0%r",    F_W },
  34. {"addx$s",    O_PRE,    O_PRE,    S_BWL,    "xd%1r1$so1%r",    F_W },
  35. {"and$s",    O_IMM,    O_DMEM,    S_BWL,    "x02$s%1e",    F_W },
  36. {"and$s",    O_NAN,    O_DN,    S_BWL,    "xc%1r0$s%e",    F_W },
  37. {"and$s",    O_DN,    O_DMEM,    S_BWL,    "xc%r1$s%1e",    F_W },
  38. {"and$s",    O_IMM,    O_CCR,    S_B,    "x023c",    F_B },
  39. {"and$s",    O_IMM,    O_SR,    S_W,    "x027c",    F_W },
  40. {"andi$s",    O_IMM,    O_DST,    S_BWL,    "x02$s%1e",    F_W },
  41. {"andi$s",    O_IMM,    O_CCR,    S_B,    "x023c",    F_B },
  42. {"andi$s",    O_IMM,    O_SR,    S_W,    "x027c",    F_W },
  43. {"as$d$s",    O_DN,    O_DN,    S_BWL,    "xe%r$d$so4%1r",F_W },
  44. {"as$d$s",    O_IMM,    O_DN,    S_BWL,    "xe%q$d$so0%1r",F_W },
  45. {"as$d$s",    O_DMEM,    O_NONE,    S_W,    "xeo0$d11%e",    F_W },
  46. {"bchg$s",    O_DN,    O_DN,    S_L,    "x0%ro5%1e",    F_L },
  47. {"bchg$s",    O_DN,    O_DMEM,    S_B,    "x0%ro5%1e",    F_B },
  48. {"bchg$s",      O_IMM,  O_DN,   S_W,    "x0o41%1e",     F_W },
  49. {"bchg$s",    O_IMM,    O_DMEM,    S_B,    "x0o41%1e",    F_B },
  50. {"bclr$s",    O_DN,    O_DN,    S_L,    "x0%ro6%1e",    F_L },
  51. {"bclr$s",    O_DN,    O_DMEM,    S_B,    "x0%ro6%1e",    F_B },
  52. {"bclr$s",      O_IMM,  O_DN,   S_W,    "x0o42%1e",     F_W },
  53. {"bclr$s",    O_IMM,    O_DMEM,    S_B,    "x0o42%1e",    F_B },
  54. {"bra$s",    O_LAB,    O_NONE,    S_BW,    "x60%d",    F_PC|F_TXT },
  55. {"bset$s",    O_DN,    O_DN,    S_L,    "x0%ro7%1e",    F_L },
  56. {"bset$s",    O_DN,    O_DMEM,    S_B,    "x0%ro7%1e",    F_B },
  57. {"bset$s",      O_IMM,  O_DN,   S_W,    "x0o43%1e",     F_W },
  58. {"bset$s",    O_IMM,    O_DMEM,    S_B,    "x0o43%1e",    F_B },
  59. {"bsr$s",    O_LAB,    O_NONE,    S_BW,    "x61%d",    F_PC|F_TXT },
  60. {"btst$s",    O_DN,    O_DN,    S_L,    "x0%ro4%1e",    F_L },
  61. {"btst$s",    O_DN,    O_MEM,    S_B,    "x0%ro4%1e",    F_B },
  62. {"btst$s",      O_IMM,  O_DN,   S_W,    "x0o40%1e",     F_W },
  63. {"btst$s",    O_IMM,    O_MEM,    S_B,    "x0o40%1e",    F_B },
  64. {"chk$s",    O_NAN,    O_DN,    S_W,    "x4%1ro6%e",    F_W },
  65. {"clr$s",    O_AN,    O_NONE,    S_W,    "x9%ro3%e",    F_W },
  66. {"clr$s",    O_AN,    O_NONE,    S_L,    "x9%ro7%e",    F_W },
  67. {"clr$s",    O_DST,    O_NONE,    S_BWL,    "x42$s%e",    F_W },
  68. {"cmp$s",    O_ALL,    O_AN,    S_W,    "xb%1ro3%e",    F_W },
  69. {"cmp$s",    O_ALL,    O_AN,    S_L,    "xb%1ro7%e",    F_W },
  70. {"cmp$s",    O_IMM,    O_DMEM,    S_BWL,    "x0c$s%1e",    F_W },
  71. {"cmp$s",    O_NAN,    O_DN,    S_BWL,    "xb%1r0$s%e",    F_W },
  72. {"cmp$s",    O_AN,    O_DN,    S_WL,    "xb%1r0$s%e",    F_W },
  73. {"cmpa$s",    O_ALL,    O_AN,    S_W,    "xb%1ro3%e",    F_W },
  74. {"cmpa$s",    O_ALL,    O_AN,    S_L,    "xb%1ro7%e",    F_W },
  75. {"cmpi$s",    O_IMM,    O_DST,    S_BWL,    "x0c$s%1e",    F_W },
  76. {"cmpm$s",    O_POST,    O_POST,    S_BWL,    "xb%1r1$so1%r",    F_W },
  77. {"db$C$s",    O_DN,    O_LAB,    S_W,    "x5$c1x9%r%D",    F_W|F_PC|F_TXT},
  78. {"divs$s",    O_NAN,    O_DN,    S_W,    "x8%1ro7%e",    F_W },
  79. {"divu$s",    O_NAN,    O_DN,    S_W,    "x8%1ro3%e",    F_W },
  80. {"eor$s",    O_IMM,    O_DST,    S_BWL,    "x0a$s%1e",    F_W },
  81. {"eor$s",    O_DN,    O_DST,    S_BWL,    "xb%r1$s%1e",    F_W },
  82. {"eor$s",    O_IMM,    O_CCR,    S_B,    "x0a3c",    F_B },
  83. {"eor$s",    O_IMM,    O_SR,    S_W,    "x0a7c",    F_W },
  84. {"eori$s",    O_IMM,    O_DST,    S_BWL,    "x0a$s%1e",    F_W },
  85. {"eori$s",    O_IMM,    O_CCR,    S_B,    "x0a3c",    F_B },
  86. {"eori$s",    O_IMM,    O_SR,    S_W,    "x0a7c",    F_W },
  87. {"exg$s",    O_AN,    O_AN,    S_L,    "xc%ro51%1r",    F_L },
  88. {"exg$s",    O_DN,    O_DN,    S_L,    "xc%ro50%1r",    F_L },
  89. {"exg$s",    O_AN,    O_DN,    S_L,    "xc%1ro61%r",    F_L },
  90. {"exg$s",    O_DN,    O_AN,    S_L,    "xc%ro61%1r",    F_L },
  91. {"ext$s",    O_DN,    O_NONE,    S_W,    "x4o420%r",    F_W },
  92. {"ext$s",    O_DN,    O_NONE,    S_L,    "x4o430%r",    F_L },
  93. {"jmp$s",    O_STAT,    O_NONE,    0,    "x4o73%e",    F_TXT },
  94. {"jsr$s",    O_LAB,    O_NONE,    S_BW,    "x61%d",    F_PC|F_TXT },
  95. {"jsr$s",    O_STAT,    O_NONE,    0,    "x4o72%e",    F_TXT },
  96. {"lea$s",    O_STAT,    O_AN,    S_L,    "x4%1ro7%e",    F_L },
  97. {"link",    O_AN,    O_IMM,    0,    "x4o712%r%L",    0 },
  98. {"ls$d$s",    O_DN,    O_DN,    S_BWL,    "xe%r$d$so5%1r",F_W },
  99. {"ls$d$s",    O_IMM,    O_DN,    S_BWL,    "xe%q$d$so1%1r",F_W },
  100. {"ls$d$s",    O_DMEM,    O_NONE,    S_W,    "xeo1$d11%e",    F_W },
  101. {"move$s",    O_IMM,    O_DN,    S_L,    "x7%1r0%k",    F_L|F_MQ },
  102. {"move$s",    O_ALL,    O_AN,    S_W,    "x3%1ro1%e",    F_W },
  103. {"move$s",    O_ALL,    O_AN,    S_L,    "x2%1ro1%e",    F_L },
  104. {"move$s",    O_NAN,    O_DST,    S_W,    "x3%1f%e",    F_W },
  105. {"move$s",    O_NAN,    O_DST,    S_L,    "x2%1f%e",    F_L },
  106. {"move$s",    O_NAN,    O_DST,    S_B,    "x1%1f%e",    F_B },
  107. {"move$s",    O_AN,    O_DST,    S_W,    "x3%1f%e",    F_W },
  108. {"move$s",    O_AN,    O_DST,    S_L,    "x2%1f%e",    F_L },
  109. {"move$s",    O_NAN,    O_CCR,    S_W,    "x4o23%e",    F_W },
  110. {"move$s",    O_NAN,    O_SR,    S_W,    "x4o33%e",    F_W },
  111. {"move$s",    O_SR,    O_DST,    S_W,    "x4o03%1e",    F_W },
  112. {"move$s",    O_USP,    O_AN,    S_L,    "x4o715%1r",    F_L },
  113. {"move$s",    O_AN,    O_USP,    S_L,    "x4o714%r",    F_L },
  114. {"movea$s",    O_ALL,    O_AN,    S_W,    "x3%1ro1%e",    F_W },
  115. {"movea$s",    O_ALL,    O_AN,    S_L,    "x2%1ro1%e",    F_L },
  116. {"movem$s",    O_REGS,    O_WRT,    S_W,    "x4o42%1e%m",    F_W },
  117. {"movem$s",    O_REGS,    O_WRT,    S_L,    "x4o43%1e%m",    F_L },
  118. {"movem$s",    O_RD,    O_REGS,    S_W,    "x4o62%e%1m",    F_W },
  119. {"movem$s",    O_RD,    O_REGS,    S_L,    "x4o63%e%1m",    F_L },
  120. {"movep$s",    O_DN,    O_DISP,    S_W,    "x0%ro61%1r",    F_W },
  121. {"movep$s",    O_DN,    O_DISP,    S_L,    "x0%ro71%1r",    F_L },
  122. {"movep$s",    O_DISP,    O_DN,    S_W,    "x0%ro41%1r",    F_W },
  123. {"movep$s",    O_DISP,    O_DN,    S_L,    "x0%ro51%1r",    F_L },
  124. {"moveq$s",    O_IMM,    O_DN,    S_L,    "x7%1r0%k",    F_L|F_MQ },
  125. {"muls$s",    O_NAN,    O_DN,    S_W,    "xc%1ro7%e",    F_W },
  126. {"mulu$s",    O_NAN,    O_DN,    S_W,    "xc%1ro3%e",    F_W },
  127. {"nbcd$s",    O_DST,    O_NONE,    S_B,    "x4o40%e",    F_B },
  128. {"neg$s",    O_DST,    O_NONE,    S_BWL,    "x44$s%e",    F_W },
  129. {"negx$s",    O_DST,    O_NONE,    S_BWL,    "x40$s%e",    F_W },
  130. {"nop",        O_NONE,    O_NONE,    0,    "x4e71",    0 },
  131. {"not$s",    O_DST,    O_NONE,    S_BWL,    "x46$s%e",    F_W },
  132. {"or$s",    O_IMM,    O_DMEM,    S_BWL,    "x00$s%1e",    F_W },
  133. {"or$s",    O_NAN,    O_DN,    S_BWL,    "x8%1r0$s%e",    F_W },
  134. {"or$s",    O_DN,    O_DMEM,    S_BWL,    "x8%r1$s%1e",    F_W },
  135. {"or$s",    O_IMM,    O_CCR,    S_B,    "x003c",    F_B },
  136. {"or$s",    O_IMM,    O_SR,    S_W,    "x007c",    F_W },
  137. {"ori$s",    O_IMM,    O_DST,    S_BWL,    "x00$s%1e",    F_W },
  138. {"ori$s",    O_IMM,    O_CCR,    S_B,    "x003c",    F_B },
  139. {"ori$s",    O_IMM,    O_SR,    S_W,    "x007c",    F_W },
  140. {"pea$s",    O_STAT,    O_NONE,    S_L,    "x4o41%e",    F_L },
  141. {"reset",    O_NONE,    O_NONE,    0,    "x4e70",    0 },
  142. {"ro$d$s",    O_DN,    O_DN,    S_BWL,    "xe%r$d$so7%1r",F_W },
  143. {"ro$d$s",    O_IMM,    O_DN,    S_BWL,    "xe%q$d$so3%1r",F_W },
  144. {"ro$d$s",    O_DMEM,    O_NONE,    S_W,    "xeo3$d11%e",    F_W },
  145. {"rox$d$s",    O_DN,    O_DN,    S_BWL,    "xe%r$d$so6%1r",F_W },
  146. {"rox$d$s",    O_IMM,    O_DN,    S_BWL,    "xe%q$d$so2%1r",F_W },
  147. {"rox$d$s",    O_DMEM,    O_NONE,    S_W,    "xeo2$d11%e",    F_W },
  148. {"rte",        O_NONE,    O_NONE,    0,    "x4e73",    0 },
  149. {"rtr",        O_NONE,    O_NONE,    0,    "x4e77",    0 },
  150. {"rts",        O_NONE,    O_NONE,    0,    "x4e75",    0 },
  151. {"sbcd$s",    O_DN,    O_DN,    S_B,    "x8%1ro40%r",    F_B },
  152. {"sbcd$s",    O_PRE,    O_PRE,    S_B,    "x8%1ro41%r",    F_B },
  153. /* next line changed by PvO */
  154. {"stop",    O_IMM,    O_NONE,    S_W,    "x4e72",    F_W },
  155. {"sub$s",    O_IMM,    O_DST,    S_BWL,    "x5%q1$s%1e",    F_W|F_Q },
  156. {"sub$s",    O_IMM,    O_AN,    S_WL,    "x5%q1$s%1e",    F_W|F_Q },
  157. {"sub$s",    O_ALL,    O_AN,    S_W,    "x9%1ro3%e",    F_W },
  158. {"sub$s",    O_ALL,    O_AN,    S_L,    "x9%1ro7%e",    F_L },
  159. {"sub$s",    O_IMM,    O_DMEM,    S_BWL,    "x04$s%1e",    F_W },
  160. {"sub$s",    O_NAN,    O_DN,    S_BWL,    "x9%1r0$s%e",    F_W },
  161. {"sub$s",    O_AN,    O_DN,    S_WL,    "x9%1r0$s%e",    F_W },
  162. {"sub$s",    O_DN,    O_DMEM,    S_BWL,    "x9%r1$s%1e",    F_W },
  163. {"suba$s",    O_ALL,    O_AN,    S_W,    "x9%1ro3%e",    F_W },
  164. {"suba$s",    O_ALL,    O_AN,    S_L,    "x9%1ro7%e",    F_L },
  165. {"subi$s",    O_IMM,    O_DST,    S_BWL,    "x04$s%1e",    F_W },
  166. {"subq$s",    O_IMM,    O_DST,    S_BWL,    "x5%q1$s%1e",    F_W|F_Q },
  167. {"subq$s",    O_IMM,    O_AN,    S_WL,    "x5%q1$s%1e",    F_W|F_Q },
  168. {"subx$s",    O_DN,    O_DN,    S_BWL,    "x9%1r1$so0%r",    F_W },
  169. {"subx$s",    O_PRE,    O_PRE,    S_BWL,    "x9%1r1$so1%r",    F_W },
  170. {"swap$s",    O_DN,    O_NONE,    S_W,    "x4o410%r",    F_W },
  171. {"tas$s",    O_DST,    O_NONE,    S_B,    "x4o53%e",    F_B },
  172. {"trap",    O_IMM,    O_NONE,    0,    "x4e4%v",    F_TV },
  173. {"trapv",    O_NONE,    O_NONE,    0,    "x4e76",    0 },
  174. {"tst$s",    O_DST,    O_NONE,    S_BWL,    "x4a$s%e",    F_W },
  175. {"unlk",    O_AN,    O_NONE,    0,    "x4o713%r",    0 },
  176. {"",        0,    0,    0,    "",        0 }
  177.